Opening
Streams in an AVI File and Closing the File
The following
example opens all the streams in an AVI file using the AVIFileGetStream
// InsertAVIFile - opens the streams in an AVI file.
//
// pfile - file-interface pointer from AVIFileOpen
//
// Global variables
// gcpavi - count of the number of streams in an AVI
file
// gapavi[] = array of stream-interface pointers
void InsertAVIFile(PAVIFILE pfile, HWND hwnd, LPSTR
lpszFile)
{
int i;
gcpavi =
0;
// Open
the streams until a stream is not available.
for (i =
gcpavi; i < MAXNUMSTREAMS; i++) {
gapavi[i] = NULL;
if
(AVIFileGetStream(pfile, &gapavi[i], 0L, i - gcpavi)
!= AVIERR_OK)
break;
if (gapavi[i]
== NULL)
break;
}
// Display
error message-stream not found.
if (gcpavi
== i)
{
ErrMsg("Unable to open %s", lpszFile);
if
(pfile) // If file is open, close it
AVIFileRelease(pfile);
return;
}
else {
gcpavi
= i - 1;
}
// .
// . Place
functions to process data here.
// .
}